草庐IT

python - tornado websocket 聊天的可扩展性

全部标签

javascript - 使用 phonegap 创建移动聊天应用程序 - 最佳策略?

我是否创建了一个计时器来每隔一段时间发出ajax请求以检查新消息?这似乎会消耗大量手机资源。创建简单的PhoneGap即时消息/聊天应用程序的最佳方法是什么?对于移动设备,HTTP流式传输是否可行?如果连接中断怎么办?它适用于3G吗?显然这是一个大问题,但我们将不胜感激。 最佳答案 这个问题的范围有点高,很多内容会进入“总答案”。这取决于您使用的是什么,但您是否考虑过使用node.js和websockets?我知道还有其他方法可以做服务器端websockets但这是一种流行的方法。如果您不熟悉网络套接字,它是一种新的HTML5技术,

javascript - 在 Firefox 扩展中通过域名访问特定的 cookie

我正在开发Firefox扩展,需要从特定域访问特定cookie。我有这段代码可以获取所有域的所有cookie,我如何才能只请求我正在寻找的cookie。var{Cc,Ci}=require("chrome");varcookieManager=Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);varcount=cookieManager.enumerator;while(count.hasMoreElements()){varcookie=count.getNext();if(cookieinstanc

javascript - 在 SO 聊天中播放提示音

我正在尝试使用Chrome扩展程序在SO聊天中播放通知提示音(或提及提示音),但我无法正确播放(如果可能的话)。我尝试了以下代码:this.notify=function(){$("#jplayer").jPlayer('play',0);}但是我得到以下错误:UncaughtTypeError:Object[objectObject]hasnomethod'jPlayer'有没有办法使用SO聊天声音“模块”/播放器来播放@mention提示音?更新我知道我可以设置自己的“音频播放器”,但我想使用SO上聊天中使用的音频播放器,并且我想使用通知提示音。我已经在GitHubgist中上传了

javascript - 帧间 SOP - Chrome 扩展

在Chrome扩展中,我试图让gmail撰写正文内容。偶尔会跳出一个错误,但不会妨碍它的工作。这是作为内容脚本运行的。我相信权限在这里不是问题,因为当缺少权限时,错误会有所不同并且操作会被Chrome阻止,绝对不是这种情况。这一行出现错误:encodeURIComponent($canvas.find('iframe').contents().find('body').text());在哪里var$canvas=$('#canvas_frame').contents();关于此错误的任何信息和可能的周转? 最佳答案 您不能使用jav

javascript - 聊天使用什么协议(protocol)? webRTC 或 Websockets

我正在创建一个可以进行视频、音频和文本聊天的聊天网站。我目前正在使用Websockets进行文本聊天。我需要知道视频、音频和文本聊天的最佳方式是什么。哪个更有效。我应该为所有这些使用Websockets,还是为视频和音频使用webRTC,为文本聊天使用Websockets。我可以两者都做,并且不想为webRTC重新编写我的文本聊天,但如果这是一个更好的选择,那么我会的。编辑:我刚刚发现了binaryJS,它是webRTC更好更简单的替代品吗?谢谢,@_C1D 最佳答案 通过将您的视频和音频流嵌入到websockets中,您将拥有一个

javascript - Chrome 扩展程序安装错误消息

我构建了一个小型Chrome扩展程序-它可以显示您的IP和地理位置信息。我对其进行了多次测试,将其打包(使用Grunt)并上传到Chrome网上商店。我多次验证生成的zip文件包含应用程序所需的所有文件+list。然后我删除了我的本地版本,并尝试从网上商店安装。我不断收到此错误,即使在刷新并重新启动浏览器几次之后也是如此:"TherewasaproblemaddingthisitemtoChrome.Pleaserefreshthepageandtryagain."如何调试/解决这个问题?我的扩展代码非常简单,实际上是在GitHub上打开的.list文件可用here.扩展程序可在Chr

javascript - chrome 扩展在后台页面和内容脚本下使用相同的 socket.io 连接

我正在使用socket.io做一个chrome扩展,我有一个内容脚本可以保持连接到服务器以进行实时聊天,但我也想在后台页面中从服务器获取一些信息。它像这样分开工作很好在内容脚本中varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test");});在后台页面varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test

javascript - 为什么在扩展对象时使用 Object.create 作为原型(prototype)?

我有Java背景,最近一直在尝试JavaScript继承。我开始编写一些对象,在阅读了一些示例后,我找到了最适合我的代码风格。这是我的:varClass=function(){};Class.extend=function(p_constructor){varSuperclass=this;//thefollowinglineconfusesmep_constructor.prototype=Object.create(Superclass.prototype);p_constructor.prototype.constructor=p_constructor;p_constructo

javascript - 将 jQuery 的 .val() 方法扩展到非输入元素

我正在编写一个基本上复制输入功能的自定义jquery插件。我可以解释为什么,但说实话,解释很长,我认为它与问题无关。当我尝试将jQuery的.val()方法扩展到我的自定义jquery插件时,问题就来了。这是我尝试过的:$.fn.custom_text_input=function(options){returnthis.each(function(){varcustom_text_input=newCustomTextInput(options,this)$(this)[0].val=function(){alert('somethinguseful')}})}我尝试了其他一些变体,

javascript - 从 Canvas 保存图像时缺少扩展名

我使用此代码在Javascript中保存图像:window.location.href=grid.toDataURL("image/png").replace("image/png","image/octet-stream");代码有效,但保存的文件没有任何扩展名,我必须手动重命名。我的问题是如何将扩展名放在末尾?谢谢。 最佳答案 toDataURL生成数据uri而不是文件名,因此扩展名不适用于这种情况。data-uri只是二进制内容的文本编码版本,某些浏览器可以将其作为文件读取——如果您愿意,也可以是数据流。由于数据流没有任何文件